package com.mf.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mf.entity.bo.DeptBo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mf.entity.dto.dept.DeptDto;
import com.mf.entity.request.dept.DeptRequest;
import com.mf.entity.vo.RosterVo;
import com.mf.entity.vo.dept.DeptAndPositionVo;
import com.mf.entity.vo.dept.DeptVo;
import io.github.heollhai.common.entity.request.publicRequest.UpdateStatusRequest;

import java.util.List;
import java.util.Map;

/**
* 部门表 服务类
*
* @author mf
* @since 2024-09-20
*/
    public interface IDeptService extends IService<DeptBo> {
    /**
     * 查询
     */
    List<DeptVo> findByList(DeptRequest deptRequest);

    List<DeptVo> listFindByEnable();

    Map<Integer, List<DeptVo>> listFindTreeByDeptIdGroup();

    /**
     * 新增
     */
    Integer insert(DeptDto dept);
    /**
     * 删除
     */
    Integer deleteById(Integer id);

    /**
     * 获取部门以及部门下岗位
     */
    List<DeptAndPositionVo> listFindByDeptAndPosition();

    /**
     * 修改状态
     */
    Integer changeStatus(UpdateStatusRequest<Integer> updateStatusRequest);

    Page<RosterVo> setDeptAndJob(Page<RosterVo> rosterVoPage);
}
